.TH "setfiles" "8" "10 июня 2016" "" "Команда пользователя SELinux"
.SH "ИМЯ"
setfiles \- установить SELinux-контексты безопасности файлов.

.SH "ОБЗОР"
.B setfiles
.RB [ \-c
.IR policy ]
.RB [ \-d ]
.RB [ \-l ]
.RB [ \-m ]
.RB [ \-n ]
.RB [ \-e
.IR directory ]
.RB [ \-p ]
.RB [ \-s ]
.RB [ \-v ]
.RB [ \-W ]
.RB [ \-F ]
.RB [ \-I | \-D ]
.I spec_file
.IR pathname \ ...

.SH "ОПИСАНИЕ"
На этой странице руководства приводится описание программы
.BR setfiles.
.P
Эта программа используется в основном для инициализации полей контекста безопасности (расширенных атрибутов) в одной или нескольких файловых системах (или их частях). Обычно она впервые запускается как часть процесса установки SELinux (этап, который называется проставлением меток).
.P
Также можно запустить её в любой другой момент, чтобы исправить некорректные метки, добавить поддержку для недавно установленной политики или, используя параметр
.B \-n
, пассивно проверить, соответствуют ли установленные контексты файлов тем контекстам, которые указаны в активной политике (поведение по умолчанию) или в какой-либо другой политике (см. параметр
.B \-c
).
.P
Если объект файла не имеет контекста,
.B setfiles
запишет контекст по умолчанию в расширенные атрибуты объекта файла. Если объект файла имеет контекст,
.B setfiles
изменит только ту часть контекста безопасности, которая относится к типу.
Параметр
.B \-F
позволяет принудительно заменить контекст целиком.
.SH "ПАРАМЕТРЫ"
.TP
.B \-c
проверить действительность контекстов относительно указанной двоичной политики.
.TP
.B \-d
показать, какая спецификация соответствует каждому из файлов (не прекращать проверку после получения ошибок ABORT_ON_ERRORS).
.TP
.BI \-e \ directory
исключить каталог (чтобы исключить более одного каталога, этот параметр необходимо использовать соответствующее количество раз).
.TP
.BI \-f \ infilename
.I infilename
содержит список файлов для обработки. Используйте
.RB \*(lq \- \*(rq
для
.BR stdin .
.TP
.B \-F
принудительно сбросить контекст, чтобы обеспечить соответствие file_context для настраиваемых файлов и соответствие контексту файлов по умолчанию для остальных файлов (меняются части контекста, связанные с пользователем, ролью, диапазоном, а также тип).
.TP
.B \-h, \-?
показать сведения об использовании и выйти.
.TP
.B \-i
игнорировать файлы, которые не существуют.
.TP
.B \-I
игнорировать дайджест, чтобы принудительно проверить метки, даже если хранимый дайджест SHA1 соответствует дайджесту SHA1 файлов спецификации. Затем (при условии отсутствия ошибок) дайджест будет обновлён. Более подробные сведения доступны в разделе
.B ПРИМЕЧАНИЯ.
.TP
.B \-D
установить или обновить дайджесты SHA1 для любых каталогов. Используйте этот параметр, чтобы включить использование расширенного атрибута
.IR security.restorecon_last.
.TP
.B \-l
записывать изменения меток файлов в системный журнал.
.TP
.B \-m
не выполнять чтение
.B /proc/mounts
для получения списка монтирований без seclabel, которые следует исключить из проверок с повторным проставлением меток. Установка этого параметра полезна при наличии смонтированной файловой системы без seclabel, в которой в расположенном ниже каталоге смонтирована файловая система с seclabel.
.TP
.B \-n
не изменять метки файлов (пассивная проверка).
.TP
.BI \-o \ outfilename
этот параметр устарел и больше не поддерживается.
.TP
.B \-p
показывать ход выполнения, выводя количество обработанных файлов (единица измерения - блок размером 1 КБ (то есть 1000 файлов)). Если выполняется повторное проставление меток во всей ОС, будет показан примерный процент выполнения. Обратите внимание, что параметры
.B \-p
и
.B \-v
являются взаимоисключающими.
.TP 
.B \-q
этот параметр устарел, ранее использовался для прекращения вывода параметров ассоциаций индексных дескрипторов (inode).
.TP 
.BI \-r \ rootpath
использовать альтернативный корневой путь. Используется в meta-selinux для сборок OpenEmbedded/Yocto, чтобы проставить метки для файлов в каталоге
.I rootpath
таким образом, как если бы они были в
.B /
.TP 
.B \-s
взять список файлов из стандартного ввода, а не использовать путь из командной строки (эквивалентно
.RB \*(lq "\-f \-" \*(rq
).
.TP
.B \-v
показать изменения меток для файлов и вывести параметры ассоциаций индексных дескрипторов (inode).
Обратите внимание, что параметры
.B \-v
и
.B \-p
являются взаимоисключающими.
.TP 
.B \-W
показать предупреждения о записях, для которых не обнаружены соответствующие файлы, с помощью вывода результатов
.BR selabel_stats (3).
.TP 
.B \-0
предполагается, что разделителем для элементов ввода является символ нуля
(вместо пробела). Символы кавычек и обратной косой черты также считаются обычными символами, которые могут формировать допустимый ввод.
Этот параметр также отключает строку конца файла (end-of-file string), она обрабатывается, как любой другой аргумент. Это полезно, если элементы ввода содержат пробелы, кавычки или обратные косые черты. Параметр 
.B -print0
GNU
.B find
производит ввод, подходящий для этого режима.

.SH "АРГУМЕНТЫ"
.TP
.I spec_file
Файл спецификации, содержащий строки следующего вида:
.sp
.RS
.I regexp
.RI [ type ]
.IR context \ |
.B <<none>>
.RS
Регулярное выражение привязывается с обоих концов. Необязательное поле
.I type
указывает тип файла (показывается в поле режима по команде
.BR ls (1)
), например,
.B \-\-
для соответствия только обычным файлам или
.B \-d
для соответствия только каталогам. 
.I context
может быть обычным контекстом безопасности или строкой
.B <<none>>
(чтобы указать, что контекст файла не следует изменять).
.br
Используется последняя соответствующая спецификация. Если на файл имеется несколько жёстких ссылок, которые соответствуют разным спецификациям, и эти спецификации означают разные контексты безопасности, будет показано предупреждение, но для файла всё равно будет проставлена метка на основе последней соответствующей спецификации, отличной от
.BR <<none>> \|.
.RE
.RE
.TP 
.IR pathname \ ...
Путь к корневому каталогу каждой файловой системы, в которой следует повторно проставить метки, или конкретный каталог в файловой системе, по которому следует рекурсивно спуститься и повторно проставить метки, или путь к файлу, для которого следует повторно проставить метку.
Не используется, если используется параметр
.B \-f
или
.B \-s .

.SH "ПРИМЕЧАНИЯ"
.IP "1." 4
.B setfiles
следует по символическим ссылкам и рекурсивно применяется к каталогам.
.IP "2." 4
Если в
.I pathname
указан корневой каталог, установлен параметр
.B \-v
, а также запущена система аудита, в журнал с меткой сообщения
.BR FS_RELABEL
автоматически записывается событие аудита, которое содержит сообщение о том, что произошло "массовое повторное проставление меток".
.IP "3." 4
Для повышения производительности при рекурсивном повторном проставлении меток в файловых системах используется параметр
.B \-D
команды
.B setfiles .
Он обеспечивает сохранение дайджеста SHA1 файла спецификации
.B spec_file 
в расширенном атрибуте с именем
.IR security.restorecon_last
для каталога, указанного в соответствующем пути
.IR pathname \ ...
, после успешного завершения повторного проставления меток. Этот дайджест будет проверен, если команда
.B setfiles
.B \-D
будет перезапущена с теми же параметрами
.I spec_file
и
.I pathname
Подробные сведения доступны в
.BR selinux_restorecon (3).
.sp
Параметр
.B \-I
позволяет игнорировать дайджест SHA1 из каждого каталога, указанного в 
.IR pathname \ ...
, и, при условии, что НЕ установлен параметр
.B \-n
, для файлов будут необходимым образом повторно проставлены метки, а дайджест затем будет обновлён (если не будет ошибок).

.SH "СМОТРИТЕ ТАКЖЕ"
.BR restorecon (8),
.BR load_policy (8),
.BR checkpolicy (8)

.SH "АВТОРЫ"
Эта man-страница была написана Russell Coker <russell@coker.com.au>.
Программа была написана Stephen Smalley <sds@tycho.nsa.gov>.
Перевод на русский язык выполнила Герасименко Олеся <gammaray@basealt.ru>
